package ua.khpi.si.kit49.diploma.service;

import java.util.List;
import java.util.Set;

import ua.khpi.si.kit49.diploma.core.Route;
import ua.khpi.si.kit49.diploma.core.RepliedRoute;

/**
 * Interface for searching best routes
 * 
 * @author netstalk3r
 * 
 */
public interface RouteService {

	/**
	 * 
	 * @param start
	 *            start point
	 * @param finish
	 *            finish point
	 * @return set with first three best routes
	 */
	Set<Route> getBestRoutes(Integer start, Integer finish);

	/**
	 * method for converting route to the route for convert to json and reply
	 * 
	 * @param routes
	 *            set with routes
	 * @return list with replied routes
	 */
	List<RepliedRoute> convertToRepliedRoutes(Set<Route> routes);

}
